python 日期时间范围遍历操作

您所在的位置:网站首页 python 遍历范围 python 日期时间范围遍历操作

python 日期时间范围遍历操作

2023-07-06 21:19| 来源: 网络整理| 查看: 265

我们经常在离线任务中,用到基于输入的日期参数,计算指定日期范围内的相关数据统计,如统计从昨天算起近 30 天每天的统计数据,这里列出 python 几种常用的时间日期范围遍历操作。

1推荐方式 推荐方式

利用 python 标准库的 datetime 模块的 date 和 timedelta 类进行范围限定,并结合 range 内置函数进行遍历。

假设输入的参数是昨天的日期,遍历最近每天的日期,并对每天进行业务 todo,示例如下:

from datetime import datetime, timedelta # 模拟输入的昨日日期参数 from_arg_dt = '2020-09-07' # 字符串日期转换成 datetime.datetime 对象 end_datetime = datetime.strptime(from_arg_dt, '%Y-%m-%d') # 遍历近 30 天的日期 for i in range(30): # datetime 对象和 timedelta 对象可以进行日期时间加减操作,返回的是新的 datetime 对象 dt = end_datetime - timedelta(days=30 - i) # 如需,也可以转换成 str 对象 dt_str = dt.strftime('%Y-%m-%d') # todo other things

如果明确指定的日期的起始时间,遍历操作代码如下:

from datetime import date, timedelta # 模拟输入起始及截止日期 begin = date(2020, 8, 20) end = date(2020, 9, 7) # range 函数进行遍历 for i in range((end - begin).days + 1): # date 对象和 timedelta 进行时间间隔计算,并返回 date 对西那个 day = begin + timedelta(days=i) # 也可以根据需要,转换成 str 字符串对象 day_str = day.strftime('%Y-%m-%d') # todo other things

datetime 模块的其中一个核心 api 是,timedelta 对象可以和 datetime、date、time 对象进行时间加减操作,且返回的还是原有对象类型(新的对象)。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3